#re.match(*)，与match不同，只能从“头”开始匹配，正则表达式必须与被检测字段开头一样
import re

# string='apyfudhyfbaydupythondadad'
pattern='.python.'
# rst=re.match(pattern,string)
# print(rst)
# rst=re.search(pattern,string)
# print(rst)

string='apythonyfbaydupythondadad'
rst=re.match(pattern,string)
print(rst)
rst=re.match(pattern,string).span()#span()设置可以过滤信息，只留下匹配成功的字段在源字符串中的位置
print(rst)
#re.search(*，但不讲)

#全局匹配函数（***）
"""
观察可以发现，以上匹配中，即便源字符串中有多个结果符合模式，也只会匹配一个结果，如何将符合模式的内容全部都匹配出来呢？
（1）使用re.compile()对正则表达式进行预编译
（2）编译后，使用findall()根据正则表达式从源字符串中将匹配的结果全部找出
"""
# string='hellomdyadadapydadpthonydajsjpqqqqqqqy'
# pattern1='p.*?y'
# result=re.compile(pattern1).findall(string)
# print(result)
# pattern2=re.compile(pattern1)
# result=pattern2.findall(string)
# print(result)


#re.sub()函数,这个在爬虫里面不是很重要
"""
re.sub(pattern,rep-要替换成的字符串，string-源字符串，max-最多替换的次数、如果不写，会将符合模式的结果全部替换为rep)
"""
# string='hellomdyadadapydadpthonydajsjpqqqqqqqy'
# pattern1='p.*?y'
# result=re.sub(pattern1,'php',string)
# print(result)
# result=re.sub(pattern1,'php',string,2)
# print(result)